package com.summer.content.service;

import com.summer.dto.CoursePreviewDto;
import com.summer.pojo.CoursePublish;

import java.io.File;

public interface CoursePublishService {

    // 课程预览
    CoursePreviewDto getCoursePreview(Long courseId);

    // 课程审核
    void commitAudit(Long companyId, Long courseId);

    // 课程发布
    void coursePublish(Long companyId, Long courseId);

    // 根据课程id返回html页面文件，用于页面静态化
    File generateHtmlToFile(long courseId);

    /**
     * 远程调用media-api将html页面上传到minio
     * @param htmlFile 页面文件对象
     * @param objectName minio存储路径
     */
    void insert2minio(File htmlFile, String objectName);

    /**
     * 根据课程id获取课程发布信息
     * @param courseId 课程id
     * @return 课程发布信息
     */
    CoursePublish getById(long courseId);
}
